package com.varian.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.varian.mybatis.base.IBaseService;
import com.varian.system.dto.SysNoticeDTO;
import com.varian.system.dto.SysNoticePageDTO;
import com.varian.system.entity.SysNotice;
import com.varian.system.vo.SysNoticeVO;

/**
 * @author ben
 * @since 2024/8/27
 */
public interface ISysNoticeService extends IBaseService<SysNotice> {

    boolean add(SysNoticeDTO dto);

    Page<SysNoticeVO> page(SysNoticePageDTO dto);

    SysNoticeVO detail(Long id);

    boolean modify(Long id, SysNoticeDTO dto);

    boolean delete(Long id);

    boolean publish(Long id);

    boolean revoke(Long id);

    void processListenerNoticeSend(Long id);

    void processListenerNoticeExpire(Long id);

}
